package com.jmlee.service;

import com.jmlee.pojo.Role;
import org.apache.ibatis.session.RowBounds;


import java.util.List;

/**
 * 角色Service
 */
public interface RoleService {
    /**
     * 添加角色
     * @param role
     * @return
     */
    Integer addRole(Role role);

    /**
     * 修改角色
     * @param role
     * @return
     */
    Integer editRoleById(Role role);

    /**
     * 获取角色列表
     * @return
     */
    List<Role> roleList();

    List<Role> roleList(RowBounds rowBounds);

    List<Role> getRoleList(Role role);

    /**
     * 添加权限
     * @param rId 角色ID
     * @param mId 菜单ID
     * @return
     */
    Integer addAuthority(Long rId,Long mId);

    /**
     * 移除权限
     * @param rId 角色ID
     * @param mId 菜单ID
     * @return
     */
    Integer removeAuthority(Long rId,Long mId);

    /**
     * 获取角色对应菜单ID
     * @param rId
     * @return
     */
    List<Long> getMenuIdListByRid(Long rId);

    /**
     * 获取角色总数
     * @return
     */
    Long getCountOfRole();

    /**
     * 角色删除
     * @param role
     * @return
     */
    Integer deleteRole(Role role);

    /**
     * 检查角色名重复
     * @param role
     * @return
     */
    Integer checkRoleName(Role role);
}
